System and method for smart building control using multidimensional presence sensor arrays

ABSTRACT

A method of operating a master control device includes obtaining, at a input-output interface, first measurement data for a zone of a physical space based on signals from a first group of presence sensors covering the zone of the physical space, obtaining, at the input-output interface, second measurement data for the zone of the physical space, based on signals from a second group of presence sensors covering the zone of the physical space and identifying, based on the first or second measurement data, one or more moving objects within the zone of the physical space. The method further includes associating, each of the one or more moving objects with an object class, determining, for each of the one or more moving objects, a track within a coordinate system for the physical space and outputting, a signal associated with the one or more determined tracks.

CROSS-REFERENCE TO RELATED APPLICATION AND CLAIM OF PRIORITY

This application is related to and claims priority under 35 U.S.C. § 120from U.S. Provisional Application No. 62/615,310 entitled “DataAcquisition, Bundling and Processing” filed on Jan. 9, 2018, U.S.Provisional Application No. 62/612,959 entitled “Self-ConfiguringModular Surface Sensors Analytics System” filed on Jan. 2, 2018, U.S.Provisional Application No. 62/646,537 entitled “System and Method forSmart Building Control Using Multidimensional Presence Sensor Arrays”filed on Mar. 22, 2018 and U.S. Provisional Application No. 62/644,130entitled “System and Method for Smart Building Control Using DirectionalOccupancy Sensors,” filed on Mar. 16, 2018, the disclosures of which areincorporated by reference herein in their entireties.

TECHNICAL FIELD

This disclosure relates generally to sensors and control systems forphysical spaces. More specifically, this disclosure relates to a systemand method for smart building control using multidimensional presencesensor arrays.

BACKGROUND

“Smart Buildings,” or buildings comprising physical spaces whoseenvironmental control systems, such as lights, HVAC systems, andphysical features (for example, ceiling fans or window shades) operate,at least in part, based on control inputs generated by the computerizedapplication of predetermined rules to sensor data, offer tremendouspromise in terms of improving how humans use physical spaces. Forexample, truly intelligent control of heating and lighting systemsoffers the possibility of significant improvements in energy efficiencybeyond those attainable through passive structural improvements such asbetter insulation. However, a “smart building” is only as “smart” as thesensors are able to provide accurate and meaningful inputs to thealgorithms for controlling parameters of the building's physical spaces.Embodiments according to this disclosure address technical problemsassociated with generating “smart” control inputs for environmentalcontrol systems.

SUMMARY

This disclosure provides a system and method for smart building controlusing multidimensional presence sensor arrays.

In a first embodiment, a method of operating a master control deviceincludes obtaining, at a input-output interface, first measurement datafor a zone of a physical space, the first measurement data based onsignals from a first group of presence sensors covering the zone of thephysical space, obtaining, at the input-output interface, secondmeasurement data for the zone of the physical space, the secondmeasurement data based on signals from a second group of presencesensors covering the zone of the physical space and identifying, basedon at least one of the first or second measurement data, one or moremoving objects within the zone of the physical space. The method furtherincludes associating, based on the first and second measurement data,each of the one or more moving objects with an object class,determining, for each of the one or more moving objects, a track withina coordinate system for the physical space and outputting, via theinput-output interface of the master control device, a signal associatedwith the one or more determined tracks.

In a second embodiment, a master control device includes an input-outputinterface, a processor and a memory containing instructions, which whenexecuted by the processor, cause the master control device to obtain, atthe input-output interface, first measurement data for a zone of aphysical space, the first measurement data based on signals from a firstgroup of presence sensors covering the zone of the physical space, toobtain, at the input-output interface, second measurement data for thezone of the physical space, the second measurement data based on signalsfrom a second group of presence sensors covering the zone of thephysical space, and to identify, based on at least of the first orsecond measurement data, one or more moving objects within the zone ofthe physical space. The instructions, when executed by the processor,further cause the master control device to associate, based on the firstand second measurement data, each of the one or more moving objects withan object class, to determine, for each of the one or more movingobjects, a track within a coordinate system for the physical space; andto output, via the input-output interface of the master control device,a signal associated with the one or more determined tracks.

In a third embodiment, a computer program product includes program code,which when executed by a processor, causes a master control device toobtain, at a input-output interface, first measurement data for a zoneof a physical space, the first measurement data based on signals from afirst group of presence sensors covering the zone of the physical space,to obtain, at the input-output interface, second measurement data forthe zone of the physical space, the second measurement data based onsignals from a second group of presence sensors covering the zone of thephysical space, and to identify, based on at least of the first orsecond measurement data, one or more moving objects within the zone ofthe physical space. The program code, when executed by the processor,further cause the master control device to associate, based on the firstand second measurement data, each of the one or more moving objects withan object class, to determine, for each of the one or more movingobjects, a track within a coordinate system for the physical space; andto output, via the input-output interface of the master control device,a signal associated with the one or more determined tracks.

Other technical features may be readily apparent to one skilled in theart from the following figures, descriptions, and claims.

Before undertaking the DETAILED DESCRIPTION below, it may beadvantageous to set forth definitions of certain words and phrases usedthroughout this patent document. The term “couple” and its derivativesrefer to any direct or indirect communication between two or moreelements, whether or not those elements are in physical contact with oneanother. The terms “transmit,” “receive,” and “communicate,” as well asderivatives thereof, encompass both direct and indirect communication.The terms “include” and “comprise,” as well as derivatives thereof, meaninclusion without limitation. The term “or” is inclusive, meaningand/or. The phrase “associated with,” as well as derivatives thereof,means to include, be included within, interconnect with, contain, becontained within, connect to or with, couple to or with, be communicablewith, cooperate with, interleave, juxtapose, be proximate to, be boundto or with, have, have a property of, have a relationship to or with, orthe like. The term “controller” means any device, system or part thereofthat controls at least one operation. Such a controller may beimplemented in hardware or a combination of hardware and software and/orfirmware. The functionality associated with any particular controllermay be centralized or distributed, whether locally or remotely. Thephrase “at least one of,” when used with a list of items, means thatdifferent combinations of one or more of the listed items may be used,and only one item in the list may be needed. For example, “at least oneof: A, B, and C” includes any of the following combinations: A, B, C, Aand B, A and C, B and C, and A and B and C.

Moreover, various functions described below can be implemented orsupported by one or more computer programs, each of which is formed fromcomputer readable program code and embodied in a computer readablemedium. The terms “application” and “program” refer to one or morecomputer programs, software components, sets of instructions,procedures, functions, objects, classes, instances, related data, or aportion thereof adapted for implementation in a suitable computerreadable program code. The phrase “computer readable program code”includes any type of computer code, including source code, object code,and executable code. The phrase “computer readable medium” includes anytype of medium capable of being accessed by a computer, such as readonly memory (ROM), random access memory (RAM), a hard disk drive, acompact disc (CD), a digital video disc (DVD), or any other type ofmemory. A “non-transitory” computer readable medium excludes wired,wireless, optical, or other communication links that transporttransitory electrical or other signals. A non-transitory computerreadable medium includes media where data can be permanently stored andmedia where data can be stored and later overwritten, such as arewritable optical disc or an erasable memory device.

Definitions for other certain words and phrases are provided throughoutthis patent document. Those of ordinary skill in the art shouldunderstand that in many if not most instances, such definitions apply toprior as well as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure and its advantages,reference is now made to the following description, taken in conjunctionwith the accompanying drawings, in which:

FIG. 1 illustrates a network context for implementing a system andmethod for smart building control according to embodiments of thisdisclosure;

FIG. 2 illustrates a network and processing context for implementing asystem and method for smart building control according to embodiments ofthis disclosure;

FIG. 3 illustrates aspects of a resistive mat presence sensor accordingto embodiments of this disclosure;

FIG. 4 illustrates aspects of a floor-mounted presence sensor accordingto embodiments of this disclosure;

FIG. 5 illustrates a master control device according to embodiments ofthis disclosure;

FIG. 6 illustrates operations of a method of determining tracksassociated with moving occupants of a physical space according toembodiments of this disclosure;

FIG. 7 illustrates operations of a Kalman fitter according toembodiments of this disclosure;

FIGS. 8A-8I illustrate aspects of a method for determining tracks frompresence sensor data according to embodiments of this disclosure;

FIG. 9 illustrates aspects of an implementation of a smart buildingcontrol system utilizing multidimensional presence sensor arraysaccording to embodiments of the instant disclosure;

FIG. 10 illustrates a presence sensor housed in a lightbulb according toembodiments of this disclosure;

FIG. 11 illustrates operations of a method for smart building controlusing multidimensional presence sensors according to embodiments of thepresent disclosure; and

FIGS. 12A-12G illustrate aspects of a method for determining tracks frommultidimensional presence sensors according to embodiments of thisdisclosure.

DETAILED DESCRIPTION

FIGS. 1 through 12G, discussed below, and the various embodiments usedto describe the principles of this disclosure in this patent documentare by way of illustration only and should not be construed in any wayto limit the scope of the disclosure.

Embodiments as disclosed herein relate to systems and methods for smartbuilding control using multidimensional presence sensor arrays. Theadvent of the internet of things (“IoT”) and development of physicalspaces whose environmental control systems (for example, lights and HVACsystems) can be controlled using a broad spectrum of sensor datacollected within the physical space presents many opportunities to makebuildings “smarter,” in the sense of being attuned with, and responsiveto, the needs and priorities of the buildings' human occupants.Effective integration of sensor technology and machine intelligence forprocessing and understanding the sensor data presents opportunities formeaningful improvements across a wide range of building functionalities.For example, such integration can improve the efficiency of a building(for example, by focusing heating and cooling resources on the regionsof a building that have the most people), improve a building's safety(for example, by performing footstep analysis to identify when anoccupant of a building has fallen or stopped walking under circumstancessuggesting concern, and extend the life cycle of a building (forexample, by collecting data as to loading and use stress over abuilding's lifespan).

Realizing the full potential of a “smart building” to learn about itsoccupants and control itself in response to, and in anticipation of, itsoccupants' needs is enhanced when data regarding a building'sutilization is collected from sources that are a constant across thebuilding's lifecycle, and which capture all, or almost all, of therelevant occupant usage data.

The floor of a building is one example of a source of relevant occupantdata for the entirety of the building's life. The ceiling is anotherexample of a source of relevant occupant data for the entirety of thebuilding's life Walls can be knocked down and moved over the course of abuilding's lifetime, but the floor and ceiling generally remainstructural constants. Barring unforeseeable changes in human locomotion,humans can be expected to generate measureable interactions withbuildings through their footsteps on buildings' floors. By the sametoken, the ceiling provides a vantage point for sensor data thatcomplements data obtained at the floor. Embodiments according to thepresent disclosure help realize the potential of the “smart building” byproviding, amongst other things, control inputs for a building'senvironmental control systems based on occupants' interaction withbuilding surfaces, including, without limitation, floors.

FIG. 1 illustrates an example of a network context 100 for implementinga system and method for smart building control according to someembodiments of this disclosure. The embodiment of the network context100 shown in FIG. 1 is for illustration only and other embodiments couldbe used without departing from the scope of the present disclosure.

In the non-limiting example shown in FIG. 1, a network context 100according to certain embodiments of this disclosure includes a mastercontrol device 105 (sometimes referred to as a gateway, one or morerouters 110 a, 110 b, 110 c, 110 d, a client device 115 providing a userinterface, a plurality of end devices 120 a-j in a physical space, andone or more appliances or features of a physical space receiving controlsignals (for example, HVAC system 125) from master control device 105.

According to certain embodiments, master control device 105 is embodiedon a low power processing platform, such as a development board runningan ARM CORTEX™ processor. Alternatively, master control device 105 maybe implemented on a larger computing platform, such as a notebookcomputer, a server computer, or a tablet comprising a memory, aprocessor, an input output interface, an analog to digital converter,and send and receive circuitry that includes a network interface andsupports multiple communication protocols, including without limitation,Wi-Fi on the 900 MHz, 2.4 GHz and 5.0 GHz bands. According to furtherembodiments, master control device also supports communications usingthe Zigbee protocol and AES-128 encryption between devices in thenetwork, including without limitation, routers 110 a-110 d, end devices120 a-j, client device 115 and HVAC system 125.

As will be described in greater detail herein, the memory of mastercontrol device 105 contains instructions, which when executed by theprocessor, cause the master control device to receive signals from enddevices 120 a-j, determine tracks associated with moving occupants of aphysical space based on the received signals, and output signals forcontrolling appliances and features of the physical space based on thedetermined tracks.

While in the non-limiting example shown in FIG. 1, master control device105 is shown as embodied on a single, physical computing platform (suchas a server or notebook), which is communicatively connected to otheractors within network context 100 using various wireless communicationprotocols, numerous other embodiments are possible and within theintended scope of this disclosure. For example, the operations carriedout by master control device 105 in the embodiment shown in FIG. 1, can,in other embodiments, be performed on multiple machines, or by adifferent machine within network context 100, such as client device 115or one of end devices 120 a-j. Additionally, according to someembodiments, master control device 105 may be embodied on one or morevirtual machines.

According to some embodiments, each router of routers 110 a-110 d is awireless router providing a Wi-Fi link between master control device 105and each of end devices 120 a-120 j. In the non-limiting example shownin FIG. 1, each of routers 110 a-110 d support communications using,without limitation, the Zigbee, Bluetooth, Bluetooth Low Energy (BLE)and Wi-Fi communication protocols in the 900 MHz, 2.4 GHz and 5.0 GHzbands. Alternatively, in other embodiments, routers 110 a-110 d connectto one or more devices within network context 100 over a wiredconnection and communicate using wired communication protocols, such asEthernet networking protocols. Additionally, each of routers 110 a-110 dmay be connected to one another, as shown in FIG. 1 to form a meshnetwork.

According to various embodiments, client device 115 is a smartphoneproviding a user interface for, without limitation, receivinginformation regarding determined tracks in the physical space, providingvisualizations of determined tracks in the physical space, andcontrolling the transmission of control signals from master controldevice 105 to appliances and devices in the physical space (such as HVACsystem 125) based on tracks determined by master control device 105.

In the non-limiting example shown in FIG. 1, each end device of enddevices 120 a-120 j comprises a floor mounted presence sensor capable ofcollecting floor contact data from within the physical space atpredetermined intervals. According to some embodiments, thepredetermined intervals at which floor contact data is collectedcorresponds to a scan rate that can be configured at master controldevice 105 or via a user interface of client device 115. Further,according to some embodiments, each end device of end devices 120 a-120j is embodied on a low-power general computing device such as adevelopment board powered by an energy efficient processor, such as theINTEL ATOM™ processor. According to some embodiments, the presencesensor is a membrane switch, resistive sensor, piezoelectric sensor orcapacitive sensor that, when contacted, produces or changes anelectrical signal, from which a value along one or more coordinate axesassigned to the physical space can be mapped. According to someembodiments (for example, embodiments using membrane switches or certaincapacitive sensors), the presence sensors of end devices 120 a-120 jdetect the presence or absence of contact with the floor. According toother embodiments (for example, with the resistive sensor shown in FIG.3), the presence sensors of end devices 120 a-120 j produce an electricsignal correlating to a pressure applied to the sensor. In certainembodiments, each of end devices 120 a-120 j also include ananalog-to-digital converter (“A/D”) to digitize the electrical signals.Further end devices 120 a-120 j may include a memory, a processor andsend and receive circuitry to provide the electrical signals from thepresence sensors or digitizations thereof to routers 110 a-110 d ormaster control device 105. According to some embodiments, the send andreceive circuitry of end devices 120 a-120 j includes a networkinterface supporting one or more wired or wireless communicationprotocols, including without limitation, Ethernet, ZIGBEE, Wi-Fi,BLUETOOTH and BLUETOOTH Low Energy (BLE).

Additionally, according to certain embodiments, the presence sensors ofeach of end devices 120 a-120 j may, either by themselves, or under thecontrol of master control device 105, form a self-configuring array ofsensors, such as described in U.S. Provisional Patent Application No.62/612,959, which is incorporated in by reference in its entirety.

According to certain embodiments HVAC system 125 is a “smart” HVACdevice, such as one of the component devices of the Carrier ComfortNetwork system. According to other embodiments, HVAC system 125 is aconventional HVAC device that has been retrofitted with a networkedcontroller capable of receiving control inputs from master controldevice 105. Skilled artisans will appreciate that HVAC system 125 ismerely illustrative, and not limitative of the kinds of devices that canbe controlled in response to inputs from master control device 105.Other devices of a “smart building” whose operation can be controlled oradjusted based on signals from master control device 105 include,without limitation, IoT devices such as lights, window shades, roomcleaning robots, windows, automatic doors, media systems, and securitysystems.

FIG. 2 illustrates an example of a network context 200 for implementinga system and method for smart building control according to certainembodiments of this disclosure. The embodiment of the network context200 shown in FIG. 2 is for illustration only and other embodiments couldbe used without departing from the scope of the present disclosure.

In the non-limiting example shown in FIG. 2, the network context 200includes one or more mat controllers 205 a, 205 b and 205 c, an APIsuite 210, a trigger controller 220, job workers 225 a-225 d, a database230 and a network 235.

According to certain embodiments, each of mat controllers 205 a-205 c isconnected to a presence sensor in a physical space. In some embodiments,each of mat controllers 205 is a mat controller, such as described inU.S. Provisional Patent Application No. 62/615,310, the contents ofwhich are incorporated in their entirety herein. According to someembodiments, each of mat controllers 205 a-205 c is an end device, suchas one of end devices 120 a-120 j described with reference to FIG. 2herein. Mat controllers 205 a-205 c generate floor contact data frompresence sensors in a physical space and transmit the generated floorcontact data to API suite 210. In some embodiments, data from matcontrollers 205 a-205 c is provided to API suite 210 as a continuousstream. In the non-limiting example shown in FIG. 2, mat controllers 205a-205 c provide the generated floor contact data to API suite 210 viathe internet. Other embodiments, wherein mat controllers 205 a-205 cemploy other mechanisms, such as a bus or Ethernet connection to providethe generated floor data to API suite 210 are possible and within theintended scope of this disclosure.

According to some embodiments, API suite 210 is embodied on a servercomputer connected via the internet to each of mat controllers 205 a-205c. According to other embodiments, API suite is embodied on a mastercontrol device, such as master control device 105 shown in FIG. 1 ofthis disclosure. In the non-limiting example shown in FIG. 2, API suite210 comprises a Data Application Programming Interface (API) 215 a, anEvents API 215 b and a Status API 215 c.

In some embodiments, Data API 215 a is an API for receiving andrecording mat data from each of mat controllers 205 a-205 c. Mat eventsinclude, for example, raw, or minimally processed data from the matcontrollers, such as the time and data a particular sensor was pressedand the duration of the period during which the sensor was pressed.According to certain embodiments, Data API 215 a stores the received matevents in a database such as database 230. In the non-limiting exampleshown in FIG. 2, some or all of the mat events are received by API suite210 as a stream of event data from mat controllers 205 a-205 c, Data API215 a operates in conjunction with trigger controller 220 to generateand pass along triggers breaking the stream of mat event data intodiscrete portions for further analysis.

According to various embodiments, Events API 215 b receives data frommat controllers 205 a-205 c and generates lower-level records ofinstantaneous contacts where a sensor on the mat is pressed andreleased.

In the non-limiting example shown in FIG. 2, Status API 215 c receivesdata from each of mat controllers 205 a-205 c and generates records ofthe operational health (for example, CPU and memory usage, processortemperature, whether all of the sensors from which a mat controllerreceives inputs is operational) of each of mat controllers 205 a-205 c.According to certain embodiments, status API 215 c stores the generatedrecords of the mat controllers' operational health in database 230.

According to some embodiments, trigger controller 220 operates toorchestrate the processing and analysis of data received from matcontrollers 205 a-205 c. In addition to working with data API 215 a todefine and set boundaries in the data stream from mat controllers 205a-205 c to break the received data stream into tractably sized andlogically defined “chunks” for processing, trigger controller 220 alsosends triggers to job workers 225 a-225 c to perform processing andanalysis tasks. The triggers comprise identifiers uniquely identifyingeach data processing job to be assigned to a job worker. In thenon-limiting example shown in FIG. 2, the identifiers comprise: 1.) asensor identifier (or an identifier otherwise uniquely identifying thelocation of contact); 2.) a time boundary start identifying a time inwhich the mat went from an idle state (for example, an completely opencircuit, or, in the case of certain resistive sensors, a baseline orquiescent current level) to an active state (a closed circuit, or acurrent greater than the baseline or quiescent level); and 3.) a timeboundary end defining the time in which a mat returned to the idlestate.

In some embodiments, each of job workers 225 a-225 c corresponds to aninstance of a process performed at a computing platform, (for example,master control device 105 in FIG. 1) for determining tracks andperforming an analysis of the tracks. Instances of processes may beadded or subtracted depending on the number of events or possible eventsreceived by API suite 210 as part of the data stream from matcontrollers 205 a-205 c. According to certain embodiments, job workers225 a-225 c perform an analysis of the data received from matcontrollers 205 a-205 c, the analysis having, in some embodiments, twostages. A first stage comprises deriving paths, or tracks from matimpression data. A second stage comprises characterizing those pathsaccording to a certain criteria to, inter alia, provide metrics to anonline dashboard (in some embodiments, provided by a UI on a clientdevice, such as client device 115 in FIG. 1) and to generate controlsignals for devices (such as HVAC systems, lights, and IoT appliances)controlling operational parameters of a physical space where the matimpressions were recorded.

In the non-limiting example shown in FIG. 2, job workers 225 a-225 cperform the constituent processes of certain methods for analyzing matimpressions to generate paths, or tracks. According to certainembodiments, a method comprises the operations of obtaining impressiondata from database 230, cleaning the obtained impression data andreconstructing paths using the cleaned data. In some embodiments,cleaning the data includes removing extraneous sensor data, removinggaps between impressions caused by sensor noise, removing longimpressions caused by objects placed on mats or by defective sensors,and sorting impressions by start time to produce sorted impressions.According to certain embodiments, job workers 225 a-225 c performprocesses for reconstructing paths by implementing algorithms that firstcluster impressions that overlap in time or are spatially adjacent.Next, the clustered data is searched, and pairs of impressions thatstart or end within a few milliseconds of one another are combined intofootsteps, which are then linked together to form footsteps. Footstepsare further analyzed and linked to create paths.

According to certain embodiments, database 230 provides a repository ofraw and processed mat impression data, as well as data relating to thehealth and status of each of mat controllers 205 a-205 c. In thenon-limiting example shown in FIG. 2, database 230 is embodied on aserver machine communicatively connected to the computing platformsproviding API suite 210, trigger controller 220, and upon which jobworkers 225 a-225 c execute. According to other embodiments, database230 is embodied on a cloud computing platform.

In the non-limiting example shown in FIG. 2, the computing platformsproviding trigger controller 220 and database 230 are communicativelyconnected to one or more network(s) 235. According to embodiments,network 235 comprises any network suitable for distributing mat data,determined paths and control signals based on determined paths,including, without limitation, the internet or a local network (forexample, an intranet) of a smart building.

Presence sensors utilizing a variety of sensing technologies, such asmembrane switches, pressure sensors and capacitive sensors, to identifyinstances of contact with a floor are within the contemplated scope ofthis disclosure. FIG. 3 illustrates aspects of a resistive mat presencesensor 300 according to certain embodiments of the present disclosure.The embodiment of the resistive mat presence sensor 300 shown in FIG. 3is for illustration only and other embodiments could be used withoutdeparting from the scope of the present disclosure.

In the non-limiting example shown in FIG. 3, a cross section showing thelayers of a resistive mat presence sensor 300 is provided. According tosome embodiments, the resistance to the passage of electrical currentthrough the mat varies in response to contact pressure. From thesechanges in resistance, values corresponding to the pressure and locationof the contact may be determined. In some embodiments, resistive matpresence sensor 300 may comprise a modified carpet or vinyl floor tile,and have dimensions of approximately 2′×2′.

According to certain embodiments, resistive mat presence sensor 300 isinstalled or disposed directly on a floor, with graphic layer 305comprising the top-most layer relative to the floor. In someembodiments, graphic layer 305 comprises a layer of artwork applied topresence sensor 300 prior to installation. Graphic layer 305 canvariously be applied by screen printing or as a thermal film.

According to certain embodiments, a first structural layer 310 sitsbelow graphic layer 305 and comprises one or more layers of durablematerial capable of flexing at least a few thousandths of an inch inresponse to footsteps or other sources of contact pressure. In someembodiments, first structural layer 310 may be made of carpet, vinyl orlaminate material.

According to some embodiments, first conductive layer 315 sits belowstructural layer 310. According to some embodiments, first conductivelayer 315 includes conductive traces or wires oriented along a firstaxis of a coordinate system. The conductive traces or wires of firstconductive layer 315 are, in some embodiments, copper or silverconductive ink wires screen printed onto either first structural layer310 or resistive layer 320. In other embodiments, the conductive tracesor wires of first conductive layer 315 are metal foil tape or conductivethread embedded in structural layer 310. In the non-limiting exampleshown in FIG. 3, the wires or traces included in first conductive layer315 are capable of being energized at low voltages (for example, ˜5volts). In the non-limiting example shown in FIG. 3, connection pointsto a first sensor layer of another presence sensor or to mat controllerare provided at the edge of each presence sensor 300.

In various embodiments, a resistive layer 320 sits below conductivelayer 315. As shown in the non-limiting example shown in FIG. 3,resistive layer 320 comprises a thin layer of resistive material whoseresistive properties change under pressure. For example, resistive layer320 may be formed using a carbon-impregnated polyethylete film.

In the non-limiting example shown in FIG. 3, a second conductive layer325 sits below resistive layer 320. According to certain embodiments,second conductive layer 325 is constructed similarly to first conductivelayer 315, except that the wires or conductive traces of secondconductive layer 325 are oriented along a second axis, such that whenpresence sensor 300 is viewed from above, there are one or more pointsof intersection between the wires of first conductive layer 315 andsecond conductive layer 325. According to some embodiments, pressureapplied to presence sensor 300 completes an electrical circuit between asensor box (for example, mat controller 225 a shown in FIG. 2 or mastercontrol device 105 shown in FIG. 1) and presence sensor, allowing apressure-dependent current to flow through resistive layer 320 at apoint of intersection between the wires of first conductive layer 315and second conductive layer 325.

In some embodiments, a second structural layer 330 resides beneathsecond conductive layer 325. In the non-limiting example shown in FIG.3, second structural layer 330 comprises a layer of rubber or a similarmaterial to keep presence sensor 300 from sliding during installationand to provide a stable substrate to which an adhesive, such as gluebacking layer 335 can be applied without interference to the wires ofsecond conductive layer 325.

The foregoing description is purely descriptive and variations thereonare contemplated as being within the intended scope of this disclosure.For example, in some embodiments, presence sensors according to thisdisclosure may omit certain layers, such as glue backing layer 335 andgraphic layer 305 described in the non-limiting example shown in FIG. 3.

According to some embodiments, a glue backing layer 335 comprises thebottom-most layer of presence sensor 300. In the non-limiting exampleshown in FIG. 3, glue backing layer 335 comprises a film of a floor tileglue, such as Roberts 6300 pressure sensitive carpet adhesive.

FIG. 4 illustrates aspects of a floor mounted presence sensor accordingto various embodiments of this disclosure. The embodiment of the floormounted presence sensor 400 sown in FIG. 4 is for illustration only.Other embodiments could be used without departing from the scope of thepresent disclosure.

In the non-limiting example shown in FIG. 4, a resistive mat presencesensor 400 has a plurality of conductive traces, including the tracesnumbered 405 a and 405 b, along a first axis, which, in this example,correspond to conductive traces in a first conductive layer (forexample, conductive layer 315 in FIG. 3) of a resistive mat presencesensor. Further, resistive mat presence sensor 400 has a plurality ofconductive traces, including the traces numbered 410 a and 410 b, alonga second axis, which, in this example, correspond to conductive tracesin a second conductive layer (for example, conductive layer 325 in FIG.3) of a resistive mat presence sensor. Each of conductive tracesconnects separately to an end device. In this case, the end device is amat controller 415 (for example, mat controller 205 a shown in FIG. 2).Other embodiments, in which the end device is, for example, end device120 a shown in FIG. 1 or master control device 105 shown in FIG. 1 arepossible and within the scope of this disclosure.

In the non-limiting example shown in FIG. 4, presence sensor 400 isshown as connecting directly with mat controller 415. In otherembodiments, presence sensor 400 connects to mat controller 415 throughone or more additional presence sensors.

According to certain embodiments, the alignment and spacing of theconductive traces of the presence system correspond to the spatialincrements of a coordinate system for a physical space in which thepresence sensor is installed. For example, in some cases, the conductivewires are disposed within the conductive layers of the presence sensorat intervals of approximately three inches or less, as such as spacingprovides a high resolution representation of the occupancy and trafficwithin the physical space.

According to certain embodiments, when pressure is applied (such as by afootstep) to the presence sensor, the resistive mat is compressed suchthat the electrical resistance between a trace in one layer of theresistive mat and a trace in another layer of the resistive mat isreduced, and a signal corresponding to the difference in electricalcurrent from a baseline or quiescent value is observed (such as by anammeter or voltmeter in mat controller 415) in the traces brought intoproximity by the footstep. By identifying the traces of the presencesensor through which the difference in current is measured, a value in acoordinate space for the corresponding to the location where thepressure was applied to the pressure sensor can be mapped. Additionally,a value for the pressure applied to the mat at a given interval may bedetermined based on the size of the signal.

In the non-limiting example shown in FIG. 4, an end device, (forexample, mat controller 415 or master control device 105 shown inFIG. 1) “scans” the voltages or currents observed at each of theterminals where traces of the presence sensors connect to the end deviceat predetermined intervals. Accordingly, a plurality of signalscorresponding to the measured voltages or currents at each of theterminals at known times are recorded and passed to an input-outputinterface of the end device. According to some embodiments, the scanrate of approximately 100-200 Hertz (Hz), wherein the time between scansis on the order of 5-10 milliseconds (ms), is appropriate for capturingfootstep data at a level of temporal granularity from which thedirectionality of footsteps can be determined. Faster and slower scanrates are possible and within the contemplated scope of this disclosure.

While in the non-limiting example shown in FIG. 4, traces 405 a-b and410 a-b of presence sensor 400 are depicted as comprising part of arectilinear coordinate system having uniformly sized spatial increments,the present disclosure is no so limited. Other embodiments are possible,such as embodiments in which one or more layers of traces are curved orfan shaped and define a radial coordinate system. Such embodiments maybe advantageous for curving spaces, such as running tracks, velodromesor curved hallways. Additionally, in some embodiments, such as physicalspaces that have defined spectator areas and performance areas (forexample, a basketball court or a stage), it may be advantageous that thecoordinate system have a finer spatial resolution in certain areas (suchas the playing or performance area) and a coarser spatial resolution inother areas, such as hallways or concession stand areas.

FIG. 5 illustrates a master control device 500 according to certainembodiments of this disclosure. The embodiment of the master controldevice 500 shown in FIG. 5 is for illustration only and otherembodiments could be used without departing from the scope of thepresent disclosure.

In the non-limiting example shown in FIG. 5, master control device 500is embodied on a standalone computing platform (for example, mastercontrol device 105 in FIG. 1) connected, via a network, to a series ofend devices (for example, 120 a-120 j in FIG. 1, mat controller 205 a inFIG. 2) In other embodiments, master control device 105 connectsdirectly to, and receives raw signals from, one or more presence sensors(for example, presence sensor 300 in FIG. 3 or presence sensor 400 inFIG. 4).

According to certain embodiments, master control device 500 includes oneor more input/output interfaces (I/O) 505. In the non-limiting exampleshown in FIG. 5, I/O interface 505 provides terminals that connect toeach of the various conductive traces of the presence sensors deployedin a physical space. Further, in systems where membrane switches orpressure sensing mats are used as presence sensors, I/O interface 505electrifies certain traces (for example, the traces contained in a firstconductive layer, such as conductive layer 315 in FIG. 3) and provides aground or reference value for certain other traces (for example, thetraces contained in a second conductive layer, such as conductive layer325 in FIG. 3). Additionally, I/O interface 505 also measures currentflows or voltage drops associated with occupant presence events, such asa person's foot squashing a membrane switch to complete a circuit, orcompressing a resistive mat, causing a change in a current flow acrosscertain traces. In some embodiments, I/O interface 505 amplifies orperforms an analog cleanup (such as high or low pass filtering) of theraw signals from the presence sensors in the physical space inpreparation for further processing.

In some embodiments, master control device 500 includes ananalog-to-digital converter (“ADC”) 510. In embodiments where thepresence sensors in the physical space output an analog signal (such asin the case of resistive mats), ADC 510 digitizes the analog signals.Further, in some embodiments, ADC 510 augments the converted signal withmetadata identifying, for example, the trace(s) from which the convertedsignal was received, and time data associated with the signal. In thisway, the various signals from presence sensors can be associated withtouch events occurring in a coordinate system for the physical space atdefined times. While in the non-limiting example shown in FIG. 5 ADC 510is shown as a separate component of master control device 500, thepresent disclosure is not so limiting, and embodiments in which the ADC510 is part of, for example, I/O interface 505 or processor 515 arecontemplated as being within the scope of this disclosure.

In various embodiments, master control device 500 further comprises aprocessor 515. In the non-limiting example shown in FIG. 5, processor515 is a low-energy microcontroller, such as the ATMEGA328P by AtmelCorporation. According to other embodiments, processor 515 is theprocessor provided in other processing platforms, such as the processorsprovided by tablets, notebook or server computers.

In the non-limiting example shown in FIG. 5, master control device 500includes a memory 520. According to certain embodiments, memory 520 is anon-transitory memory containing program code to implement, for example,APIs 525, networking functionality and the algorithms for generating andanalyzing tracks described herein.

Additionally, according to certain embodiments, master control device500 includes one or more Application Programming Interfaces (APIs) 525.In the non-limiting example shown in FIG. 5, APIs 525 include APIs fordetermining and assigning break points in one or more streams ofpresence sensor data and defining data sets for further processing.Additionally, in the non-limiting example shown in FIG. 5, APIs 525include APIs for interfacing with a job scheduler (for example, triggercontroller 220 in FIG. 2) for assigning batches of data to processes foranalysis and determination of tracks. According to some embodiments,APIs 525 include APIs for interfacing with one or more reporting orcontrol applications provided on a client device (for example, clientdevice 115 in FIG. 1). Still further, in some embodiments, APIs 525include APIs for storing and retrieving presence sensor data in one ormore remote data stores (for example, database 230 in FIG. 2).

According to some embodiments, master control device 500 includes sendand receive circuitry 530, which supports communication between mastercontrol device 500 and other devices in a network context in which smartbuilding control is being implemented according to embodiments of thisdisclosure. In the non-limiting example shown in FIG. 5, send andreceive circuitry 530 includes circuitry 535 for sending and receivingdata using Wi-Fi, including, without limitation at 900 MHz, 2.8 GHz and5.0 GHz. Additionally, send and receive circuitry 530 includescircuitry, such as Ethernet circuitry 540 for sending and receiving data(for example, presence sensor data) over a wired connection. In someembodiments, send and receive circuitry 530 further comprises circuitryfor sending and receiving data using other wired or wirelesscommunication protocols, such as Bluetooth Low Energy or Zigbeecircuitry.

Additionally, according to certain embodiments, send and receivecircuitry 530 includes a network interface 550, which operates tointerconnect master control device 500 with one or more networks.Network interface 550 may, depending on embodiments, have a networkaddress expressed as a node ID, a port number or an IP address.According to certain embodiments, network interface 550 is implementedas hardware, such as by a network interface card (NIC). Alternatively,network interface 550 may be implemented as software, such as by aninstance of the java.net.NetworkInterface class. Additionally, accordingto some embodiments, network interface 550 supports communications overmultiple protocols, such as TCP/IP as well as wireless protocols, suchas 3G or BLUETOOTH.

FIG. 6 illustrates operations of a method 600 for determining tracksassociated with moving occupants of a physical space according tovarious embodiments of this disclosure. While the flow chart depicts aseries of sequential steps, unless explicitly stated, no inferenceshould be drawn from that sequence regarding specific order ofperformance, performance of steps or portions thereof serially ratherthan concurrently or in an overlapping manner, or performance of thesteps depicted exclusively without the occurrence of intervening orintermediate steps.

In the non-limiting example shown in FIG. 600, the operations of method600 are carried out by “job workers” or processes orchestrated by agateway or master control device (for example, master control device 500in FIG. 5). Other embodiments are possible, including embodiments inwhich the described operations are performed across a variety ofmachines, including physical and virtual computing platforms.

According to some embodiments, method 600 includes operation 605,wherein a first plurality of electrical signals is received by aninput/output interface (for example, I/O interface 505 in FIG. 5) of amaster control device from presence sensors (for example, aself-configuring array of presence sensors, such as certain embodimentsof end devices 120 a-120 j in FIG. 1) in a physical space underanalysis. While not required, in some embodiments, the first pluralityof electrical signals is received at multiple points in time, based onseveral scans of the presence sensors in the physical space by themaster control device. Further, in the non-limiting example shown inFIG. 6, as part of operation 605, the received analog electrical signalsmay be digitized (for example, by ADC 510 in FIG. 5) and stored in amemory (for example, memory 520 in FIG. 5 or database 230 in FIG. 2).

In some embodiments, method 600 includes operation 610, wherein themaster control device generates background sensor values. As part ofoperation 610, the master control device maps the presence sensorsignals received at operation 605 to sensor values mapped to acoordinate system for the physical space (for example, the grid typecoordinate system 800 in FIG. 8). In some cases, each trace of thepresence sensor corresponds to a value on a coordinate axis for thephysical space, and each intersection of traces corresponds to a “pixel”having a location in the physical space. The mapping of coordinatevalues comprises pairing the traces from which each signal of the firstplurality of electrical signals was received to identify a “pixel,” orlocation in the physical space associated with the received presencesensor signals.

In the non-limiting example shown in FIG. 6, background sensor valuesmapped to the coordinate system for the physical space are generated inone of at least two ways. In one set of embodiments, the first pluralityof electrical signals is received over a time known to be a period oflow activity in the physical space (for example, in cases where thephysical space is a store, when the store is closed). In such cases, thesensor values collected during periods of inactivity may are assumed tobe generated by furniture and other static actors in the space andcomprise the background sensor values for the physical space. In anotherset of embodiments, the master control device categorizes the sensorvalues as “fast” and “slow” and maintains a running estimate of“foreground” and “background” sensor values by fitting two normaldistributions to each pixel with “fast” and “slow” responses.

According to various embodiments, method 600 includes operation 615,wherein the master control device receives a second plurality ofelectrical signals comprising presence sensor signals at multiple pointsin time, such as presence sensor signals received from two or more“scans” of the presence sensors by the master control device. Atoperation 620, as in operation 605, the second plurality of electricalsignals include an analog component that may be digitized (for example,by ADC 510 in FIG. 5) and stored in a memory (for example, memory 520 inFIG. 5 or database 230 in FIG. 2).

In some embodiments, method 600 includes operation 620, wherein themaster control device generates, based on the second plurality ofelectrical signals from the presence sensors, sensor values mapped to“pixels” within the coordinate system and points in time. For example, afirst sensor value generated in operation 620 may be of the generalform: (time=10.01 s, x=2, y=4, Ground Pressure=30 lb/in²), and a secondsensor value generated in operation 620 may be of the general form(time=10.02 s, x=2, y=4, Ground Pressure=15 lb/in²). In anotherembodiment, a first sensor value generated in operation 620 may beexpressed as a string of the general form: (053104061), wherein thefirst four digits “0531” correspond to a time value, the fifth and sixthdigits (“04”) correspond to an angle in a radial coordinate system, theseventh and eighth digits (“06”) correspond to a distance in the radialcoordinate system, and the last digit (“1”) corresponds to the measuredstate (for example, “on” or “off”) of the presence sensor. Skilledartisans will appreciate that the foregoing examples of sensor valuesare purely illustrative, and other representations of location, time andpresence sensor values are possible and within the intended scope ofthis disclosure.

In the non-limiting example shown in FIG. 6, method 600 is shown asincluding operation 625, wherein background sensor values (for example,the sensor values generated at operation 610 shown in FIG. 6) aresubtracted from the sensor values generated at operation 620 to producemeasurement data associated with the activities of the mobile occupantsin the physical space. By subtracting out the background sensor valuescaused by, for example, furniture placed in the physical space afterinstallation of presence sensors or damaged presence sensors, the mastercontrol device can obtain an unimpeded view of activity within thephysical space.

According to some embodiments, method 600 includes operation 630,wherein the master control device associates measurement data (forexample, the measurement data generated in operation 625) with one ormore moving objects belonging to an object class. In the non-limitingexample shown in FIG. 6, the density of traces (and spatial resolution)of the presence sensor is such that the sensor value at each pixel inthe coordinate system can be examined in the context of neighboringsensors and time windows to classify the activity associated with themeasurement data.

In certain embodiments, the master control device implements aclassification algorithm that operates on the assumptions about themoving actors in the physical space. For example, in some embodiments,it is an operational assumption that footsteps form, persist ontimescales on the order of one or two seconds, and then disappear. As afurther example, it is an operational assumptions that wheels (such asfrom wheelchairs, bicycles, carts and the like) roll across a surface ina continuous motion. Working from predetermined rules, which in someembodiments, are based on operational assumptions, the measurement datacan be associated with moving objects belonging to predefined objectclasses. In some embodiments, a tracker, corresponding to the locationof the moving object in time is assigned to the moving object based onthe measurement data. Further, according to some embodiments, trackersmove from along tracks, which may be determined paths in a network ofnodes in the coordinate system for the physical space.

In a non-limiting example, presence sensors are deployed in a physicalspace at a density that supports a spatial resolution of approximately 3inches, and the master control device is configured to scan the presencesensors at intervals of approximately 5 ms (corresponding to a scan rateof 200 Hz). In this example, measurement data for a first point in thecoordinate system correlating to a high applied pressure (for example,200 psi) is generated for a time t=0. Over the course of the next 200ms, the measurement data shows a decrease in applied pressure at thefirst point, and a moderate increase in pressure (for example, 20 psi)at one or more points adjacent to the first point. Applyingpredetermined rules, the master control device associates the generatedmeasurement data with the footstep of a person wearing high heeled shoesand moving generally along a line passing through the first point andthe one or more adjacent points.

In another, non-limiting example, with the same scan rate and spatialresolution, at a first time, t=0 measurement data corresponding to auniform applied pressure at five evenly spaced points in the coordinatesystem is generated. Over the course of the next five seconds, themeasurement data shows five similarly spaced points of contact havingapproximately the same applied pressure values. Applying predeterminedrules, the master control device associates the generated measurementdata with the motion of an office chair on five caster wheels movingacross the floor.

In some embodiments, method 600 includes operation 635, wherein themaster control device identifies, based on the measurement data, a firstnode corresponding to a determined location of the moving object (forexample, the moving object associated with an object class describedwith reference to operation 630). In the non-limiting example shown inFIG. 6, a node corresponds to a single value within the coordinatesystem corresponding to the location, at a given time, of a movingobject in the physical space. In many cases, certain moving objects ofinterest in the physical space (for example, humans wearing shoes)contact the presence sensors at intermittent points in time atnon-contiguous points of contact within the physical space. In suchcases, nodes, or single points corresponding to the location of theactor, provide an analytical convenience and useful representation ofthe location associated with multiple pieces of measurement data.

According to some embodiments, a first node corresponding to adetermined location of the moving object may be determined by applying anaïve clustering algorithm that clusters measurement data within aspecified radius of a tracker and determines a node (such as bycalculating a centroid associated with the measurement data) based onthe measurement data within the cluster. In some cases, the specifiedradius is on the order of three feet.

In other embodiments, the first node is determined using anotherclustering algorithm, such as one of the clustering algorithms providedin the NumPy library. Examples of clustering algorithms suitable forgenerating the first node include, without limitation, K-Meansclustering, Affinity Propagation clustering, and the sklearn.clustermethod.

In some embodiments, nodes may be assigned retroactively, based on theapplication of predetermined rules. For example, in cases wheremeasurement data belonging to a first instance of a moving object class(for example, a footstep associated with a person wearing high-heeledshoes) is observed, a node may be assigned to the nearest door, based ona predetermined rule requiring that occupants of the physical spaceenter and exit via the doors.

According to various embodiments, method 600 includes operation 640,wherein the master control device generates, based on the measurementdata at multiple time points, a track linking the first node (forexample, the node determined during operation 635) with another node inthe coordinate system for the physical space. In some embodiments, thegeneration of nodes is based on the application of a recursive algorithmto the measurement data, to smooth out the paths between nodes and tomitigate the effects of noise in the data. In the non-limiting exampleshown in FIG. 6, recursive algorithms for generating nodes mayincorporate a predict/update step where an occupant's predicted locationis used to update which footsteps are assigned to a tracker associatedwith the occupant. In one illustrative embodiment, up to two footstepsare assigned to each tracker. In some embodiments, nodes are generatedby implementing a recursive estimation algorithm, such as a Kalmanfitter (for example, the Kalman fitter described in FIG. 7).

In the non-limiting example shown in FIG. 6, the generated nodes areconnected together in a network to form tracks associated with the pathof moving objects and occupants of the physical space. According to someembodiments, the nodes are connected using a network algorithm (Forexample, the NetworkX package for Python) that generates a graph ofnodes and edges connecting the nodes. In the non-limiting example shownin FIG. 6, after finding footsteps (and where, appropriate, wheels orother sources of impression data), these nodes are connected using thenetwork algorithm. Further, to mitigate potential pileup effects, thenetwork links or “edges” are pruned according to distance and time-basedpenalty terms to find unique tracks through the coordinate systemassociated with the physical space. In some cases, where there isambiguity from pileup, track overlap can be represented by increasingthe weight of the edges and by allowing tracks to merge and split.

In the non-limiting example shown in FIG. 6, method 600 is shown asincluding operation 645, wherein a signal associated with the determinedtrack is outputted. According to some embodiments, the output signal maybe a running tally of the number of determined tracks in the room, whichcorresponds generally to the number of occupants in the room. Accordingto other embodiments, the output signal may comprise a plot of thedetermined tracks at a given time point, or a map of “hot spots” of highhuman traffic in the physical space. According to still otherembodiments, the signal outputted at operation 645 is a control signalfor an electrical appliance or other feature of the physical space(e.g., a window shade, door or lock) whose operation can be controlledor based at least in part on a signal from a master control deviceaccording to various embodiments of this disclosure. For example, in oneembodiment, the determined tracks may show the occupants of a physicalspace moving towards a particular region of the space (for example, neara television or screen showing a news item or sporting event of broadinterest), and the master control device may output a control signal tothe HVAC system (for example, HVAC system 125 shown in FIGURE)increasing the power of the HVAC system in a particular region of theroom.

FIG. 7 illustrates operations of a Kalman fitter 700 according tocertain embodiments of this disclosure. While the flow chart depicts aseries of sequential steps, unless explicitly stated, no inferenceshould be drawn from that sequence regarding specific order ofperformance, performance of steps or portions thereof serially ratherthan concurrently or in an overlapping manner, or performance of thesteps depicted exclusively without the occurrence of intervening orintermediate steps. The Kalman fitter 700 described with reference tothe non-limiting example shown in FIG. 7 is one example of an algorithmfor generating nodes encompassed by this disclosure. In someembodiments, Kalman fitter 700 provides the benefit of managing noisefrom the sensors and determining less “jittery” tracks associated withmoving objects within the physical space.

According to some embodiments, Kalman fitter 700 is a recursiveestimation algorithm and includes operation 705, wherein a mastercontrol device (for example, master control device 105 in FIG. 1)assigns a tracker to a moving object belonging to a determined objectclass. In some embodiments of this disclosure, a tracker corresponds toa point coordinate for a person, object or other moving entity ofinterest that contacts presence sensors at multiple points (for example,a mail cart on casters) or discontinuous intervals (for example, awalking human).

In some embodiments, Kalman fitter 700 includes operation 710, whereinthe master control device receives measurement data (for example, a setof clustered impression data points corresponding to one or morepossible directions of motion for the moving object that is beingtracked) corresponding to the state of the moving object at a firsttime, T₁. Information regarding the state of the moving object at firsttime T₁ can include, without limitation, information as to the movingobject's location, apparent direction of motion and apparent rate ofmotion. In some embodiments, the information as to the moving object'slocation, apparent direction and rate of motion is determined based onfootstep and stride analysis of presence sensor data assumed by themaster control device to be footsteps. In other embodiments, themeasurement data corresponding to the state of the moving object at atime T1 comprises only the moving object's location within the physicalspace.

In some embodiments, Kalman fitter 700 is a recursive estimationprocess, and operation 710 marks the start of a loop repeated for aperiod relevant to the operation of one or more environmental controlsystems of a physical space, or of other analytical interest (forexample, the interval beginning when a tracker associated with a humanbeing in the physical space is assigned, and ending when the human beingis determined to have departed the physical space, such as by leavingthe room).

In the non-limiting example shown in FIG. 7, Kalman fitter 700 includesoperation 715, wherein the master control unit predicts, based on themeasurement data corresponding to the state of the moving object at timeT₁, measurement data corresponding to the state of the moving object ata subsequent time, T₂. As part of operation 715, the master controldevice may also determine an uncertainty value associated with thepredicted measurement data at time T₂. In certain embodiments, theuncertainty associated with the predicted measurement data correspondingto the state of the moving object at time T₂, may be expressed as, ordetermined from an uncertainty matrix associated with the measurementdata.

According to certain embodiments, Kalman fitter 700 includes operation720, wherein the master control device receives measurement datacorresponding to the state of the moving object at time T₂. In thenon-limiting example shown in FIG. 7, the values of measurement datareceived as part of operation 720 correspond to fields of measurementdata received at operation 710 and predicted at operation 715.

In some embodiments, Kalman fitter 700 further includes operation 725,wherein the master control device updates the measurement datacorresponding to the moving object at time T₂ based on the predictedmeasurement data corresponding to the state of the moving object at timeT₂. In certain embodiments, the updating of the recorded measurementdata at time T₂ based on the predicted measurement data for time T2comprises taking a weighted average of the values of the recordedmeasurement data with the predicted values of the measurement data attime T₂. In the non-limiting example shown in FIG. 7, the relativeweights of the recorded and predicted values of the measurement data isdetermined based on the uncertainty value or uncertainty matrixassociated with the predicted value at operation 715. As noted elsewherein this disclosure, in some embodiments, Kalman fitter 700 implements arecursive estimation method. According to such embodiments, afteroperation 725, the method returns to operation 710, using the updatedvalues of the measurement data corresponding to the moving object attime T₂, as an initial value for a subsequent prediction.

FIGS. 8A-8I illustrate aspects of a method for determining tracks basedon presence data according to certain embodiments of this disclosure.FIGS. 8A-8I illustrate activity in a coordinate system corresponding toa person entering a room and walking through the room, and how certainembodiments according to this disclosure determine a track correspondingto the person's motion into and through the room. Specifically, FIGS.8A-8I depict activity in a coordinate system for the physical space(e.g., a room) beginning with an “empty” (noise and background presencesensor values) coordinate system for the physical space, followed by thedetection of presence sensor data an initial time, assignment of atracker, detection of additional presence sensor data at a subsequenttime, and the determination of tracks connecting nodes within thecoordinate system for the physical space.

FIG. 8A illustrates a coordinate system 800 for a physical space at aninitial time. The embodiment of the coordinate system 800 shown in FIG.8A is for illustration only and other embodiments could be used withoutdeparting from the scope of the present disclosure.

In the non-limiting example shown in FIG. 8A, the axes of coordinatesystem 800 are based on the direction of the traces in two separatelayers (for example, layers 315 and 325 shown in FIG. 3) of conductivemat presence sensors installed in the physical space. According tocertain embodiments, coordinate system 800 provides a representation ofthe physical space after the “background” presence sensor values causedby furniture, noise and other factors have been subtracted out (forexample, by performing operation 625 shown in FIG. 6).

FIG. 8B illustrates activity in the coordinate system 800 for thephysical space at a time subsequent to the time shown in FIG. 8A. Theembodiment of the coordinate system 800 shown in FIG. 8B is forillustration only and other embodiments could be used without departingfrom the scope of the present disclosure.

In the non-limiting example shown in FIG. 8B, a person has just enteredthe physical space and made her first footstep in the room. Measurementdata 805 corresponding to electrical signals generated at one or morepresence sensors in the physical space has been mapped to a location inthe coordinate system 800 for the physical space. In this particularexample, the measurement data 805 is represented as a shaded region,indicating that electrical signals were generated by presence sensors inthe shaded region. Other representations of measurement data arepossible, and include, without limitation, dots corresponding to overlappoints between traces in of layers of a resistive mat through which acurrent or potential change was detected.

FIG. 8C illustrates activity in the coordinate system 800 for thephysical space subsequent to mapping measurement data 805 to a locationin coordinate system 800. The embodiment of the coordinate system 800shown in FIG. 8C is for illustration only and other embodiments could beused without departing from the scope of the present disclosure.

In the non-limiting example shown in FIG. 8C, measurement data 805 hasbeen associated with a moving object belonging to an object class (inthis particular example, a walking human), and a tracker 810 has beenassigned to the moving object. In FIG. 8C, tracker 810 corresponds to asingle point in the coordinate system (the single point is shown as ablack dot within a dotted line included to help distinguish the trackerfrom other entities in coordinate system 800).

FIG. 8D illustrates activity in the coordinate system 800 for thephysical space subsequent to assigning a tracker to the human moving inthe physical space. The embodiment of the coordinate system 800 shown inFIG. 8D is for illustration only and other embodiments could be usedwithout departing from the scope of the present disclosure.

In the non-limiting example shown in FIG. 8D, the initial position ofthe tracker in the coordinate system 800 has been designated as a firstnode 815 and the start of a new track for the tracker assigned to thehuman moving in the physical space. Additionally, a master controldevice (for example, master control device 105 in FIG. 1) connected tothe presence sensors in the physical space implements a Kalman fitter(for example, Kalman fitter 700 described with reference to FIG. 7) andpredicts the location of the tracker at a subsequent time, T₂. In thisparticular example, the predicted position of the tracker at subsequenttime T₂ is shown by unshaded circle 820.

In some embodiments, the recursion rate of a Kalman fitter is the sameas the rate at which a master control device scans for electricalsignals from presence sensors. In other embodiments, for example, wheremoving objects' interactions (such as footsteps) occur over intervalsthat are significantly longer than the scan rate, the recursion rate ofa Kalman fitter may be lower than the scan rate for the presencesensors.

FIG. 8E illustrates activity in the coordinate system 800 for thephysical space at time T₂. At time T₂, additional measurement data 825associated with the tracked human has been received and mapped to alocation within the coordinate system 800 for the physical space. Theembodiment of the coordinate system 800 shown in FIG. 8E is forillustration only and other embodiments could be used without departingfrom the scope of the present disclosure.

FIG. 8F illustrates activity in the coordinate system 800 for thephysical space at a time subsequent to time T₂. The embodiment of thecoordinate system 800 shown in FIG. 8F is for illustration only andother embodiments could be used without departing from the scope of thepresent disclosure. FIG. 8F depicts that tracker 810 has moved to asecond node corresponding to a position for the tracked human determinedbased on the predicted position 820 of the tracked human at time T₂ andthe measurement data 825 received at time T₂. In the non-limitingexample shown in FIG. 8F, the location of the second node to whichtracker 810 has been moved is determined based on a weighted average ofthe predicted position 820 and measurement data 825, wherein theweighting is based, at least in part, on an uncertainty value determinedfor predicted position 820.

According to certain embodiments, the master control device performs adetermination as to whether the newly determined position of tracker 810satisfies one or more predetermined conditions, such as expected changestime or distance between nodes or conditions indicating possible pileupsof nodes or tracks. If the predetermined conditions are determined tohave been satisfied, the master control device creates track 830connecting the first and second nodes.

FIG. 8G illustrates activity in the coordinate system 800 for thephysical space at the start of a new recursion of the Kalman fitter, inwhich the predicted location 835 of the moving human in the physicalspace at a new subsequent time T₃ is determined based on the position oftracker 810 at time T₂. The embodiment of the coordinate system 800shown in FIG. 8G is for illustration only and other embodiments could beused without departing from the scope of the present disclosure.

FIG. 8H illustrates activity in the coordinate system 800 for thephysical space at time T₃. The embodiment of the coordinate system 800shown in FIG. 8H is for illustration only and other embodiments could beused without departing from the scope of the present disclosure.

At time T₃, the master control device receives additional measurementdata 840 from presence sensors and maps the additional measurement data840 to a location within the coordinate system 800 for the physicalspace. Additionally, the master control device applies a clusteringalgorithm (for example, one of the clustering algorithms described withreference to operation 635 in FIG. 6) that clusters measurement data 825and 840 based on their physical and temporal proximity of themeasurement data and assigns a point coordinate for the clusteredmeasurement data 845. For the purposes of implementing the Kalmanfitter, the point coordinate for the clustered measurement data 845 isthe measurement data for time T₃.

FIG. 8I illustrates activity in the coordinate system 800 for thephysical space at a time subsequent to time T₃. The embodiment of thecoordinate system 800 shown in FIG. 8I is for illustration only andother embodiments could be used without departing from the scope of thepresent disclosure.

In the non-limiting example shown in FIG. 8I, the tracker moves to a newnode determined based on a weighted average of the predicted location ofthe moving human at time T3 and the clustered measurement data. Further,the master control device performs a determination as to whether thenewly determined position of tracker 810 satisfies one or morepredetermined conditions, such as expected changes time or distancebetween nodes or conditions indicating possible pileups of nodes ortracks. If the predetermined conditions are determined to have beensatisfied, the master control device creates track 850 connecting thefirst and second nodes.

According to certain embodiments, the method described with reference toFIGS. 8A-8I recurs until a terminal condition, such as a determinationthat the tracked human has left the physical space, is satisfied.Further, in some embodiments, the master control device outputs thedetermined tracks, data derived from the determined tracks, or controlsignals (such as turning a light on or off) based on the determinedtracks.

FIG. 9 illustrates aspects of an implementation 900 of a smart buildingcontrol system using multidimensional presence sensors according tocertain embodiments of the present disclosure. The embodiment of theimplementation 900 shown in FIG. 9 is for illustration only and otherembodiments could be used without departing from the scope of thepresent disclosure.

Referring to the non-limiting example shown in FIG. 9, implementation900 comprises one or more presence sensors 905 situated in a firstspatial dimension of a physical space (in this case, floor 910), one ormore presence sensors 915 situated in a second spatial dimension of thephysical space (in this case, mounted above floor 910), communicativelyconnected to a gateway, or master control device 920. Presence sensors905 and 915 are configured to generate measurement data based on theactivity of objects 925 within the physical space.

In some embodiments, the operation of master control device 920 isenhanced when master control device 920 receives presence sensor datafrom more than one vantage point, or dimension, of the physical space.For example, ceiling mounted presence sensors may, by virtue of theirlocation in the physical space and the technologies that can be employedin a sensor not subject to foot traffic, be better able to discriminatebetween living occupants of a physical and inanimate objects moving inthe space. By the same token, floor mounted presence sensors, may, byvirtue of their location and construction, be able to collect userimpression data (for example, footsteps and wheel prints) at a highlevel of spatial resolution.

According to certain embodiments, the control of a smart building may beenhanced by using occupant movement data collected across multipledimensions of a physical space to more accurately associate classes, toobjects moving within the physical space. As a non-limiting example,consider a person operating a wheelchair. From just the perspective of afloor mounted presence sensor, such a person may not be reliablydistinguishable from other wheeled objects presenting a similarfootprint (for example, a heavily laden file cart). From just theperspective of a ceiling mounted sensor, the person's use of awheelchair may not be apparent. Given the expanding heterogeneity ofactors moving in a physical space, which, can be expected to includeautonomous vehicles and the like, improvements in the granularity withwhich the classes of moving objects in a room can be identifiedtranslate into improvements in the operation of a “smart building.” Putdifferently, a building is smarter when it can assign one set of controlinputs (for example, turning the air conditioning up) in response to aperson in a wheelchair entering a room, and another set of controlinputs (for example, turning the air conditioning down) in response toan autonomous vehicle having a similar footprint to a wheelchair movingwithin the same room.

FIG. 10 illustrates a presence sensor suitable for use in anabove-the-floor dimension of a physical space. The embodiment of thepresence sensor shown in FIG. 10 is for illustration only and otherembodiments could be used without departing from the scope of thepresent disclosure.

In the non-limiting example shown in FIG. 10, the presence sensor ishoused in a lightbulb 1000. Other embodiments are possible, and presencesensors suitable for above-ground use may variously be housed in ceilingspeakers, ceiling fans, or as standalone sensors. While housing sensorsin lightbulbs offers clear benefits in terms of ease of installation andproviding power for an above-ground presence sensor, other embodimentsare possible and within the contemplated scope of this disclosure.

According to certain embodiments, light emitting element 1005 is afilament or light emitting diode suitable for converting electricalcurrent into visible light broadcast across the physical space.

In some embodiments, embedded sensor 1010 is an electronic sensorpowered from the same current source as light emitting element 1005,which is capable of detecting the presence of moving objects within apredefined space. Further, embedded sensor 1010 is, in certainembodiments, configured to distinguish between living and inanimateobjects. According to certain embodiments, embedded sensor 1010 utilizesone or more of the following object detection technologies: RF emission,thermal imaging or sonar.

In the non-limiting example shown in FIG. 10, wireless module 1015 is awireless communication interface between embedded sensor 1010 and agateway or master control device (for example, master control device 920in FIG. 9). In some embodiments, wireless module 1015 is powered fromthe same current source as light emitting element 1005. According tocertain embodiments, wireless module 1015 communicates with mastercontrol device 920 via one or more of the following wirelesscommunication protocols: ZigBee, Bluetooth, Bluetooth Low Energy, orWi-Fi.

FIG. 11 describes operations of a method 1100 for smart building controlaccording to certain embodiments of this disclosure. While the flowchart depicts a series of sequential steps, unless explicitly stated, noinference should be drawn from that sequence regarding specific order ofperformance, performance of steps or portions thereof serially ratherthan concurrently or in an overlapping manner, or performance of thesteps depicted exclusively without the occurrence of intervening orintermediate steps. In the non-limiting example shown in FIG. 11,operations of method 1100 are carried out by “job workers” or processesorchestrated by a gateway or master control device (for example, mastercontrol device 500 in FIG. 5, or master control device 920 in FIG. 9).Other embodiments are possible, including embodiments in which thedescribed operations are performed across a variety of machines,including physical and virtual computing platforms.

According to some embodiments, method 1100 comprises operation 1105,wherein the master control device obtains first measurement data for azone of a physical space, based on signals from a first group ofsensors. In the non-limiting example shown in FIG. 11, the first groupof physical sensors are disposed in a first dimension, or perspective ofthe physical space. In this example, the first group of sensors compriseresistive mat presence sensors (for example, sensor 300 in FIG. 3), andmeasurement data comprises data culled from a stream of event-relatedsignals (for example, data based on changes in current associated withfeet and wheels compressing the sensor at mappable locations, such asthe measurement data obtained at operation 625 in FIG. 6).

As used herein to describe the non-limiting example of method 1100, theterm “zone” encompasses a region in a coordinate system for the physicalspace covered by a specific subset of sensors in a first dimension ofthe physical space (for example, the floor), and a specific subset ofsensors in a second dimension of the physical space. In someembodiments, the sensors in both dimensions of the physical space haveequivalent spatial resolutions, and the coordinate system for thephysical space may be applied from the perspective of either dimensionof the physical space. In other embodiments, sensors in one dimensionmay have a more granular spatial resolution (for example, presencesensor 300 in FIG. 3, which in some embodiments, has a spatialresolution of at least 2″×2″), while sensors in another dimension mayhave a coarser spatial resolution (for example, ceiling mounted thermalimaging sensors, which may perceive objects in the physical space aswarm or cold “blobs.”) In such cases, the coordinate system for thephysical space may be based off of the first dimension, and the zoneserves as an analytical construct to identify regions where sharedcoverage between the heterogeneous floor and ceiling sensors ispossible.

In some embodiments, at operation 1110, the master control deviceobtains second measurement data for the zone of the physical space basedon signals from a second group of presence sensors. In the non-limitingexample shown in FIG. 11, the first and second group of presence sensorsare disposed in different dimensions of the physical space (for example,the first group of presence sensors is situated in the floor, while thesecond group of presence sensors is situated in the ceiling or suspendedtherefrom).

As noted above, according to certain embodiments, the presence sensorswithin the physical space are heterogeneous, with the presence sensorsof the first group being responsive to different motion events than thesensors of the second group, and the sensors within groups potentiallydiffering in their performance characteristics (for example, spatialresolution and coverage area).

In the non-limiting example shown in FIG. 2, the second group ofpresence sensors are thermal sensors, (for example, lightbulb 1000 inFIG. 10, wherein the embedded sensor is an infrared (IR) sensor) thesecond measurement data obtained at operation 1110 comprises informationas to the motion of exotherming objects (for example, people andanimals) in the zone.

According to certain embodiments, at operation 1115, the master controldevice identifies one or more moving objects within the physical space.In one embodiment, objects within the zone of the physical space may beidentified based on measurement data from one dimension of the room (forexample, objects may be identified by clustering sets of floor contactevents). In other embodiments, and where the spatial resolution of thefirst group and second group of presence sensors supports doing so, (forexample, in embodiments where the first group of presence sensors areresistive floor mats and the second group of presence sensors areceiling or wall mounted digital video cameras), the identification ofmoving objects within the physical space may be performed usingmeasurement data from multiple groups of presence sensors.

In various embodiments according to this disclosure, at operation 1120,the master control device associates each of the one or more identifiedmoving objects within the physical space with an instance of an objectclass. According to certain embodiments, instances of object classes maycomprise a top-level genus classification, with one or more species orsub-genus classifications. Further, in some embodiments, one or morefeatures may be recognized from first and second measurement data andthe master control device determines the object(s) most probablyassociated with the measurement data.

For example, in embodiments in which the presence sensors in the firstdimension of the physical space are adapted to measuring the pressureand location of floor contact, and the presence sensors in the seconddimension of the physical space are adapted to measuring heat, atoperation 1120, the master control device express the association of thefirst and second measurement data with an object class as shown below:

TABLE 1 First Second Measure- Measure- Object Class - Object Class -Proba- ment Data ment Data Genus Species bility (+20° F.) 4 contactExotherm Human in 67% events/200 wheelchair pounds total pressure.  (−1°F.) 4 contact Inanimate File cart 34% events/200 pounds total pressure.(+23° F.) 4 contact Exotherm Canine 75% events/45 pounds of totalpressure

According to certain embodiments, predetermined rules or models areapplied to the first and second measurement data to identify one or moreobject classes to which the moving object in the room belongs. In thenon-limiting example shown in Table 1 above, for each moving object inthe zone, the first measurement data comprises thermal sensor data fromheat sensors housed in lightbulbs. In this particular example, the firstmeasurement data is expressed as the temperature of the moving objectrelative to an ambient or background temperature. For example “+20° F.”indicates first measurement data showing a moving object having asurface temperature 20 degrees higher than the background or roomtemperature. In this particular example, the second measurement data istaken from pressure sensors in the floor of the physical space, andrepresents a total pressure value across clustered floor contact events.For example, a human in a wheelchair having two main wheels and twosmaller, castered wheels at the front would register four contact events(e.g., one event per wheel) from which a total pressure applied to thefloor can be determined. Applying predetermined rules to the first andsecond measurement data, one or more object classes can be associatedwith the moving object. In the example of Table 1, at least two classesare associated with the moving object. Moving objects are assigned to avalue in a first, genus-level classification, such as “exotherm” or“inanimate.” Additionally, moving objects are assigned to a value in asecond, species-level classification, such as “file cart” or “canine.”Additionally, in the non-limiting example of Table 1, as part ofoperation 1120, the master control device calculates a certaintyprobability associated with the object class (es) assigned to the movingobject. In some embodiments, the certainty probability is used forretraining and refining classification models used to associate movingobjects with object classes. According to some embodiments,predetermined rules may be able to determine associations between movingobjects that would otherwise be separately tracked. For example, a modelcould be associate a canine closely following the same human around aphysical space as a service dog.

In some embodiments, the predetermined rules applied to the first andsecond measurement data are manually determined (for example, wherefirst measurement data shows especially high surface temperatures andthe second measurement data shows contact events fitting a givenprofile, then, the moving object is a dog, which is lighter than ahuman, but has a higher body temperature). In other embodiments, thepredetermined rules can be developed by training a model (for example, aclassification algorithm) on a large data set.

According to certain embodiments, at operation 1125, the master controldevice determines, for each moving object, a track within a coordinatesystem for the physical space. In the non-limiting example shown in FIG.11, the track is determined using the coordinate system defined by thegroup of presence sensors with the highest spatial resolution (forexample, coordinate system 800 in FIG. 8A). However, in otherembodiments, the track may be determined in multiple coordinate systems,or in the coordinate system with the lower spatial resolution.

In the non-limiting example shown in FIG. 11, at operation 1130, themaster control device outputs, via an input-output interface, a signal(for example, the signal output in operation 645 in FIG. 6) associatedwith the one or more determined tracks. According to certainembodiments, the signal output at operation 1130 comprises at least oneof, a control signal for an electrical or electronic appliance in thephysical space (for example, a light or a climate control device, suchas a fan or air conditioner), or an updated track showing the associatedobject class, current and/or historical position of the moving objectsin the physical space.

FIGS. 12A-12G illustrate aspects of a method for determining tracks frommultidimensional presence sensors according to certain embodiments ofthis disclosure. The embodiments of the method for determining tracksshown in FIGS. 12A-12G for illustration only and other embodiments couldbe used without departing from the scope of the present disclosure.FIGS. 12A-12G illustrate a zone in which three moving objects aredetected, associated with object classes based on first and secondmeasurement data, and tracks associated with the movement of each objectin a coordinate system of the physical space are determined.

FIG. 12A illustrates a coordinate system 1200 for a physical space priorto the detection of any moving objects in the space. In the non-limitingexample shown in FIG. 12A, the axes of coordinate system are based onthe direction of traces in two separate layers (for example, layers 315and 325 shown in FIG. 3) of resistive mat presence sensors installed inthe physical space. In this explanatory example, the resistive matpresence sensors comprise a first group of presence sensors in a firstdimension

According to certain embodiments, coordinate system 1200 provides arepresentation, in one dimension of the space, of the physical spaceafter the “background” presence sensor values caused by furniture, noiseand other factors have been subtracted out (for example, by performingoperation 625 shown in FIG. 6). In this non-limiting example, zoneboundaries 1205 a and 1205 b define four zones, or regions of thephysical space where measurement data from groups of presence sensorsare obtained and used to generate output signals from the master controldevice.

FIG. 12B illustrates a second group of presence sensors 1210 in a seconddimension of the physical space. In this explanatory example, thepresence sensors are thermal imaging sensors housed in lightbulbs. Thelocation of each presence sensor 1215 and its area of coverage 1220 areshown relative to zone boundaries 1205 a & 1205 b. In some embodiments,if the entirety of the portion of the physical space represented by thecoordinate system is covered by a group of presence sensors in onedimension, there is no requirement that the presence sensors in anotherdimension of the physical space fully cover the coordinate system. Inthis non-limiting example, the second group of presence sensors does not(and is not required to) cover the entirety of the physical space.Further, as discussed elsewhere in this disclosure, presence sensorswithin a group of presence sensors can be heterogeneous. For example, inFIG. 12B, the coverage area of presence sensor 1225 is smaller thancoverage area 1220 for presence sensor 1215.

FIG. 12C illustrates the superposition of the second group of presencesensors relative to coordinate system 1200. In some embodiments, thesecond group of presence sensors are positioned according to regularintervals of the coordinate system. In other embodiments, such as wherethe second group of presence sensors are retrofitted in existingfeatures of the physical space (for example, existing light sockets), itmay not be possible to position the second group of presence sensorsaccording to regular intervals of the coordinate system. By performingthe association of moving objects within the physical space based onmeasurement data from the first and second groups of presence sensors atthe zone, rather than coordinate system level, challenges associatedwith representing data from the second group of presence sensors in thecoordinate system may be avoided.

FIG. 12D illustrates the superposition of a second group of presencesensors relative to coordinate system 1200, along with three identifiedmoving objects 1235 a, 1235 b and 1235 c. As shown in FIG. 12D, movingobject 1235 a is in the coverage area of presence sensor 1215, whilemoving objects 1235 b-c are in the coverage area of presence sensor1240. At the moment shown in FIG. 12D, the master control device isreceiving first and second measurement data from the first and secondgroup of sensors, but has not yet associated any of moving objects 1235a-c with an object class. In this illustrative example, first and secondmeasurement data is used to associate each of moving objects 1235 a-cwith an object class.

FIG. 12E illustrates, from a different vantage point, the moment shownin FIG. 12D. As shown in FIG. 12E, each of moving objects 1235 a-c is incontact with a floor 1245 in which the first group of presence sensorsare embedded. Additionally, moving objects 1235 b-c are in the coveragezone of presence sensor 1240, while moving object 1235 a is in thecoverage zone of presence sensor 1215. By collecting data regarding eachof moving objects 1235 a-c from two vantage points (in this non-limitingexample, the floor and the ceiling) the master control device may morereadily confirm that moving objects 1235 a and 1235 b are walkinghumans, and that moving object 1235 c is an office chair (as opposed toa human in a wheel chair, or other object presenting analogous contactinformation to presence sensors in floor 1245.

FIG. 12F illustrates a plot of each of moving objects 1235 a-c incoordinate system 1200 after each moving object has been associated withan object class. According to certain embodiments, the master controldevice continues to implement a zone-based tracking of moving objectsusing presence sensors in multiple dimensions of the physical space.According to other embodiments, to save computational resources, oncemoving objects have been associated with class of object based onpresence sensors from multiple dimensions of a physical space, themaster control device tracks the objects using only one group ofpresence sensors. Both embodiments are possible and within the intendedscope of this disclosure.

FIG. 12G illustrates tracks determined for moving objects in coordinatesystem 1200 at a moment subsequent to the moment shown in FIG. 12F.According to certain embodiments, each of tracks 1250 and 1255 may bedetermined using methods described in this disclosure (for example,operation 640 in FIG. 6). According to certain embodiments, associatingmoving objects with object classes can provide a filtering function withregard to the objects for which tracks are determined and used as thebasis of output signals. In this particular example, no tracks weredetermined for the office chair (moving object 1235 c), as the movementof a wheeled office chair was not relevant to the control of any of theelectrical or electronic systems in the physical space. In otherembodiments, (for example, warehouses or mailrooms) inanimate movingobjects' activities may be relevant to the control of systems in the“smart building.”

None of the description in this application should be read as implyingthat any particular element, step, or function is an essential elementthat must be included in the claim scope. The scope of patented subjectmatter is defined only by the claims. Moreover, none of the claims isintended to invoke 35 U.S.C. § 112(f) unless the exact words “means for”are followed by a participle.

What is claimed is:
 1. A method of operating a master control device,the method comprising: obtaining, at a input-output interface, firstmeasurement data for a zone of a physical space, the first measurementdata based on signals from a first group of presence sensors coveringthe zone of the physical space; obtaining, at the input-outputinterface, second measurement data for the zone of the physical space,the second measurement data based on signals from a second group ofpresence sensors covering the zone of the physical space; identifying,based on at least one of the first or second measurement data, one ormore moving objects within the zone of the physical space; associating,based on the first and second measurement data, each of the one or moremoving objects with an object class; determining, for each of the one ormore moving objects, a track within a coordinate system for the physicalspace; and outputting, via the input-output interface of the mastercontrol device, a signal associated with the one or more determinedtracks.
 2. The method of claim 1, wherein the signal associated with thedetermined track controls an operation of an electrical or electronicappliance in the physical space.
 3. The method of claim 1, wherein thefirst group of presence sensors are disposed in a floor of the physicalspace.
 4. The method of claim 1, wherein the second group of presencesensors are disposed above a floor of the physical space.
 5. The methodof claim 1, wherein the master control device associates one of themoving objects with an object class associated with living objects. 6.The method of claim 1, wherein the master control device associates oneof the moving objects with an object class associated with inanimateobjects.
 7. A master control device, comprising: an input-outputinterface; a processor; and a memory containing instructions, which whenexecuted by the processor, cause the master control device to: obtain,at the input-output interface, first measurement data for a zone of aphysical space, the first measurement data based on signals from a firstgroup of presence sensors covering the zone of the physical space;obtain, at the input-output interface, second measurement data for thezone of the physical space, the second measurement data based on signalsfrom a second group of presence sensors covering the zone of thephysical space; identify, based on at least one of the first or secondmeasurement data, one or more moving objects within the zone of thephysical space; associate, based on the first and second measurementdata, each of the one or more moving objects with an object class;determine, for each of the one or more moving objects, a track within acoordinate system for the physical space; and output, via theinput-output interface of the master control device, a signal associatedwith the one or more determined tracks.
 8. The master control device ofclaim 7, wherein the signal associated with the determined trackcontrols an operation of an electrical or electronic appliance in thephysical space.
 9. The master control device of claim 7, wherein thefirst group of presence sensors are disposed in a floor of the physicalspace.
 10. The master control device of claim 7, wherein the secondgroup of presence sensors are disposed above a floor of the physicalspace.
 11. The master control device of claim 7, wherein the memorycontains instructions, which, when executed by the processor, cause themaster control device to associate one of the moving objects with anobject class associated with living objects.
 12. The master controldevice of claim 7, wherein the memory contains instructions, which, whenexecuted by the processor, cause the master control device to associateone of the moving objects with an object class associated with inanimateobjects.
 13. A computer program product comprising program code, whichwhen executed by a processor, causes a master control device to: obtain,at a input-output interface, first measurement data for a zone of aphysical space, the first measurement data based on signals from a firstgroup of presence sensors covering the zone of the physical space;obtain, at the input-output interface, second measurement data for thezone of the physical space, the second measurement data based on signalsfrom a second group of presence sensors covering the zone of thephysical space; identify, based on at least one of the first or secondmeasurement data, one or more moving objects within the zone of thephysical space; associate, based on the first and second measurementdata, each of the one or more moving objects with an object class;determine, for each of the one or more moving objects, a track within acoordinate system for the physical space; and output, via theinput-output interface of the master control device, a signal associatedwith the one or more determined tracks.
 14. The computer program productof claim 13, wherein the signal associated with the determined trackcontrols an operation of an electrical or electronic appliance in thephysical space.
 15. The computer program product of claim 13, whereinthe first group of presence sensors are disposed in a floor of thephysical space.
 16. The computer program product of claim 13, whereinthe second group of presence sensors are disposed above a floor of thephysical space.
 17. The computer program product of claim 13, furthercomprising program code, which, when executed by the processor, causesthe master control device to associate one of the moving objects with anobject class associated with living objects.
 18. The computer programproduct of claim 13, further comprising program code, which, whenexecuted by the processor, causes the master control device to associateone of the moving objects with an object class associated with inanimateobjects.